home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / include / dev / RCS / ultra.h,v < prev    next >
Text File  |  1990-10-19  |  6KB  |  264 lines

  1. head     1.4;
  2. branch   ;
  3. access   ;
  4. symbols  ;
  5. locks    ; strict;
  6. comment  @ * @;
  7.  
  8.  
  9. 1.4
  10. date     90.10.19.15.51.49;  author jhh;  state Exp;
  11. branches ;
  12. next     1.3;
  13.  
  14. 1.3
  15. date     90.07.16.22.57.44;  author jhh;  state Exp;
  16. branches ;
  17. next     1.2;
  18.  
  19. 1.2
  20. date     90.06.21.14.54.43;  author jhh;  state Exp;
  21. branches ;
  22. next     1.1;
  23.  
  24. 1.1
  25. date     90.05.27.14.56.25;  author jhh;  state Exp;
  26. branches ;
  27. next     ;
  28.  
  29.  
  30. desc
  31. @@
  32.  
  33.  
  34. 1.4
  35. log
  36. @added ioctl for hard reset
  37. @
  38. text
  39. @/*
  40.  * ultra.h --
  41.  *
  42.  *    Declarations for ioctls specific to the Ultranet VME adapter.
  43.  *
  44.  * Copyright 1990 Regents of the University of California
  45.  * Permission to use, copy, modify, and distribute this
  46.  * software and its documentation for any purpose and without
  47.  * fee is hereby granted, provided that the above copyright
  48.  * notice appear in all copies.  The University of California
  49.  * makes no representations about the suitability of this
  50.  * software for any purpose.  It is provided "as is" without
  51.  * express or implied warranty.
  52.  *
  53.  * $Header: /sprite/src/lib/include/dev/RCS/ultra.h,v 1.3 90/07/16 22:57:44 jhh Exp Locker: jhh $ SPRITE (Berkeley)
  54.  */
  55.  
  56. #ifndef _ULTRA
  57. #define _ULTRA
  58.  
  59. #define IOC_ULTRA    (14 << 16)
  60.  
  61. /*
  62.  * Ioctl definitions specific to the Ultranet device.
  63.  */
  64.  
  65. #define IOC_ULTRA_SET_FLAGS        (IOC_ULTRA | 0x1)
  66. #define IOC_ULTRA_RESET_FLAGS        (IOC_ULTRA | 0x2)
  67. #define IOC_ULTRA_GET_FLAGS        (IOC_ULTRA | 0x3)
  68. #define IOC_ULTRA_RESET            (IOC_ULTRA | 0x4)
  69. #define IOC_ULTRA_CLR            (IOC_ULTRA | 0x5)
  70. #define IOC_ULTRA_INT            (IOC_ULTRA | 0x6)
  71. #define IOC_ULTRA_WFI            (IOC_ULTRA | 0x7)
  72. #define IOC_ULTRA_LOAD            (IOC_ULTRA | 0x8)
  73. #define IOC_ULTRA_GO            (IOC_ULTRA | 0x9)
  74. #define IOC_ULTRA_EXTENDED_DIAG        (IOC_ULTRA | 0xa)
  75. #define IOC_ULTRA_DIAG            (IOC_ULTRA | 0xb)
  76. #define IOC_ULTRA_DUMP            (IOC_ULTRA | 0xc)
  77. #define IOC_ULTRA_GET_ADAP_INFO        (IOC_ULTRA | 0xd)
  78. #define IOC_ULTRA_DEBUG            (IOC_ULTRA | 0xe)
  79. #define IOC_ULTRA_INIT            (IOC_ULTRA | 0xf)
  80. #define IOC_ULTRA_START            (IOC_ULTRA | 0x10)
  81. #define IOC_ULTRA_ADDRESS        (IOC_ULTRA | 0x11)
  82. #define IOC_ULTRA_SEND_DGRAM        (IOC_ULTRA | 0x12)
  83. #define IOC_ULTRA_ECHO            (IOC_ULTRA | 0x13)
  84. #define IOC_ULTRA_TRACE            (IOC_ULTRA | 0x14)
  85. #define IOC_ULTRA_SOURCE        (IOC_ULTRA | 0x15)
  86. #define IOC_ULTRA_SINK            (IOC_ULTRA | 0x16)
  87. #define IOC_ULTRA_COLLECT_STATS        (IOC_ULTRA | 0x17)
  88. #define IOC_ULTRA_CLEAR_STATS        (IOC_ULTRA | 0x18)
  89. #define IOC_ULTRA_GET_STATS        (IOC_ULTRA | 0x19)
  90. #define IOC_ULTRA_MAP_THRESHOLD        (IOC_ULTRA | 0x1a)
  91. #define IOC_ULTRA_BCOPY_TEST        (IOC_ULTRA | 0x1b)
  92. #define IOC_ULTRA_SG_BCOPY_TEST        (IOC_ULTRA | 0x1c)
  93. #define IOC_ULTRA_HARD_RESET        (IOC_ULTRA | 0x1d)
  94. /*
  95.  * IOC_ULTRA_LOAD_BLOCK parameter.
  96.  */
  97.  
  98. typedef struct Dev_UltraLoadBlock {
  99.     int        length;            /* Length of the data. */
  100.     int     address;            /* Load address. */
  101.     char     buffer[IOC_MAX_BYTES - 2 * sizeof(int)]; /* The data. */
  102. } Dev_UltraLoadBlock;
  103.  
  104. /*
  105.  * IOC_ULTRA_GO parameter. 
  106.  */
  107.  
  108. typedef struct Dev_UltraGo {
  109.     int        address;        /* Starting address. */
  110. } Dev_UltraGo;
  111.  
  112. /* 
  113.  * IOC_ULTRA_DIAG parameter.
  114.  */
  115.  
  116. typedef struct Dev_UltraDiag {
  117.     int        version;        /* Firmware version. */
  118.     int        error;            /* 0 if tests passed, otherwise
  119.                      * the number of the test that
  120.                      * failed. */
  121.     int        hwModel;        /* Hardware model. */
  122.     int        hwVersion;        /* Hardware version. */
  123.     int        hwRevision;        /* Hardware revision. */
  124.     int        hwOption;        /* Hardware option. */
  125.     int        hwSerial;        /* Hardware serial number. */
  126. } Dev_UltraDiag;
  127.  
  128. /*
  129.  * IOC_ULTRA_GET_ADAP_INFO parameter. This is the same as IOC_ULTRA_DIAG,
  130.  * except that the 'error' field isn't used because diagnostics aren't
  131.  * run.
  132.  */
  133.  
  134. typedef Dev_UltraDiag Dev_UltraAdapterInfo;
  135.  
  136. /*
  137.  * IOC_ULTRA_EXTENDED_DIAG parameter.
  138.  */
  139.  
  140. typedef struct Dev_UltraExtendedDiag {
  141.     int        version;        /* Firmware version. */
  142.     int        error;            /* 0 if tests passed, otherwise
  143.                      * the number of the test that
  144.                      * failed. */
  145.     Boolean    externalLoopback;    /* TRUE => use external loopback
  146.                      * (there had better be a loopback
  147.                      * connector attached to the
  148.                      * adapter!) */
  149. } Dev_UltraExtendedDiag;
  150.  
  151. /*
  152.  * IOC_ULTRA_LOAD parameter.
  153.  */
  154.  
  155. typedef struct Dev_UltraLoad {
  156.     int        address;    /* Load address. */
  157.     int        length;        /* Length of the block. */
  158.     char    data[IOC_MAX_BYTES - 2 * sizeof(int)];    /* The block to load. */
  159. } Dev_UltraLoad;
  160.  
  161. /*
  162.  * IOC_ULTRA_SEND_DGRAM parameter.
  163.  */
  164.  
  165. typedef struct Dev_UltraSendDgram {
  166.     Net_Address        address;
  167.     int            count;
  168.     Time        time;
  169.     int            size;
  170.     Boolean        useBuffer;
  171.     char        buffer[100];
  172. } Dev_UltraSendDgram;
  173.  
  174. /*
  175.  * IOC_ULTRA_ECHO parameter.
  176.  */
  177.  
  178. typedef struct Dev_UltraEcho {
  179.     Boolean        echo;    /* TRUE => echo received datagrams back
  180.                  * to sender. */
  181. } Dev_UltraEcho;
  182.  
  183. typedef struct Dev_UltraSink {
  184.     int        packets;
  185.     Time    time;
  186. } Dev_UltraSink;
  187.  
  188. typedef struct Dev_UltraStats {
  189.     int        packetsSent;
  190.     int        bytesSent;
  191.     int        sentHistogram[33];
  192.     int        packetsReceived;
  193.     int        bytesReceived;
  194.     int        receivedHistogram[33];
  195. } Dev_UltraStats;    
  196.  
  197. #endif /* _ULTRA */
  198.  
  199. @
  200.  
  201.  
  202. 1.3
  203. log
  204. @added a couple of temporary ioctls
  205. @
  206. text
  207. @d15 1
  208. a15 1
  209.  * $Header: /sprite/src/lib/include/dev/RCS/ultra.h,v 1.2 90/06/21 14:54:43 jhh Exp Locker: jhh $ SPRITE (Berkeley)
  210. d55 1
  211. @
  212.  
  213.  
  214. 1.2
  215. log
  216. @first attempt at ultra stuff
  217. @
  218. text
  219. @d15 1
  220. a15 1
  221.  * $Header: /sprite/src/lib/include/dev/RCS/ultra.h,v 1.1 90/05/27 14:56:25 jhh Exp Locker: jhh $ SPRITE (Berkeley)
  222. d52 3
  223. a54 1
  224.  
  225. @
  226.  
  227.  
  228. 1.1
  229. log
  230. @Initial revision
  231. @
  232. text
  233. @d15 1
  234. a15 1
  235.  * $Header: /sprite/lib/forms/RCS/proto.h,v 1.5 90/01/12 12:03:25 douglis Exp $ SPRITE (Berkeley)
  236. d34 2
  237. a35 2
  238. #define IOC_ULTRA_LOAD_BLOCK        (IOC_ULTRA | 0x8)
  239. #define             (IOC_ULTRA | 0x9)
  240. d38 1
  241. a38 1
  242. #define IOC_ULTRA_DUMP_BLOCK        (IOC_ULTRA | 0xc)
  243. d41 11
  244. a71 15
  245.  * IOC_ULTRA_EXTENDED_DIAG parameter.
  246.  */
  247.  
  248. typedef struct Dev_UltraExtendedDiag {
  249.     int        version;        /* Firmware version. */
  250.     int        error;            /* 0 if tests passed, otherwise
  251.                      * the number of the test that
  252.                      * failed. */
  253.     Boolean    internalLoopback;    /* TRUE => use internal loopback,
  254.                      * use external loopback otherwise. */
  255.  
  256. } Dev_UltraExtendedDiag;
  257.  
  258.  
  259. /* 
  260. d95 37
  261. d133 3
  262. d137 18
  263. @
  264.